package com.prototype.deep;

import java.io.IOException;

/**
 * 为做到深度克隆，所有需要复制的对象都需要实现java.io.Serializable接口。
 * 
 * @author Administrator
 *
 */
public class TheGreatestSage {

	private Monkey monkey = new Monkey();

	public void change() throws IOException, ClassNotFoundException {
		Monkey copyMonkey = (Monkey) monkey.deepClone();
		System.out.println("大圣本尊的生日是：" + monkey.getBirthDate());
		System.out.println("克隆的大圣的生日是：" + monkey.getBirthDate());
		System.out.println("大圣本尊跟克隆的大圣是否为同一个对象 " + (monkey == copyMonkey));
		System.out.println("大圣本尊持有的金箍棒 跟 克隆的大圣持有的金箍棒是否为同一个对象？ "
				+ (monkey.getStaff() == copyMonkey.getStaff()));
	}

	public static void main(String[] args) throws IOException,
			ClassNotFoundException {
		TheGreatestSage sage = new TheGreatestSage();
		sage.change();
	}

}
